<?php

include_once("../config.php");
include_once("../db_connect.php");

include_once '../model/dao/UsuarioDAO.php';
include_once '../model/bean/Usuario.class.php';

//trata injection
$_POST = validaParametro($_POST);
$_GET = validaParametro($_GET);
$_FILES = validaParametro($_FILES);

//trata as actions
if(isset($_GET["action"]) && $_GET["action"] != ""){
	$action = $_GET["action"];
}
if(isset($_POST["action"]) && $_POST["action"] != ""){
	$action = $_POST["action"];
}
	

if($action == "save"){
	
	extract($_POST);
	
	//usar camada model aqui
	$dao = new UsuarioDAO();
		
	$usuario = new Usuario();
	$usuario->setId($id);
	$usuario->setNome($nome);
	$usuario->setEmail($email);
	$usuario->setLogin($login);
	$usuario->setDataModificacao( date("Y/m/d H:i:s") );
	
	//usuario novo
	if($usuario->getId() == ""){
		//gera senha
		$senha = substr(md5(date("Y-m-d h:i:s").$login), 0, 6);
		$usuario->setSenha($senha);
		
	}else{
		//usuario ja existe. verifica se é pra gerar nova senha
		if($gerar_senha == 1){
			
			//gera senha
			$senha = substr(md5(date("Y-m-d h:i:s").$login), 0, 6);
			$usuario->setSenha($senha);
		}
	}
	
	
	
	
	$dao->save($usuario);
	
	
	/*
		
	//envia senha caso o usuario seja novo
	if($id == ""){
		sendEmail($email, "Bem vindo ao Eventos Acadêmicos!", "new_user", $nome, $senha, $login);
	}else{
		//envia email se mudou a senha
		if(isset($_POST[gerar_senha]) && $_POST[gerar_senha] == "gerar"){
			sendEmail($email, "Alteração de Senha", "new_pass_users", $nome, $senha);
		}
	}
	
	*/
	
	$_SESSION[$sys_code."_usuario"] = null;

	header("Location: ../usuarios.php");
}

if($action == "save_perfil"){
	
	extract($_POST);
	
	if(isset($_FILES["foto"])){
		$foto = $_FILES["foto"];
		
			// Se a foto estiver sido selecionada
		if (!empty($foto["name"])) {
	 
			
			
			// Se não houver nenhum erro
			if (count($error) == 0) {
	 			
				// Pega extensão da imagem
				preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
	 
				// Gera um nome único para a imagem
				$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
				
				// Caminho de onde ficará a imagem
				$caminho_imagem = "../images/fotos/" . $nome_imagem;
				
				
	 
	            //apaga a imagem antiga
				$q = mysql_query("SELECT foto FROM ".$prefixo."usuario WHERE id = '$id'");
				$dados = mysql_fetch_assoc($q);
				$caminho_imagem_antiga = "../images/fotos/".$dados["foto"];
				
				@unlink($caminho_imagem_antiga);
	 
				// Faz o upload da imagem para seu respectivo caminho				
				if (move_uploaded_file($foto["tmp_name"], $caminho_imagem)){
    				$atualiza_imagem = true;
					//coloca a imagem na sessao
					$_SESSION["req_user_photo"] = $nome_imagem;
					
					
					
				}else{
					//$atualiza_imagem = false;
					
					//teste
					$atualiza_imagem = true;
				}
	 
			}

		}
	}
	
	
	//
	
	
	if($id == ""){
		
		//como esta inserindo cria uma senha
		$senha = substr(md5(date("Y-m-d h:i:s").$login), 0, 6);
		
		$save = "INSERT INTO ".$prefixo."usuario (nome, email, login, senha) VALUES ('".utf8_decode($nome)."', '$email', '$login', '".md5($senha)."')";
	}else{
		
		if(isset($_POST[gerar_senha]) && $_POST[gerar_senha] == "gerar"){
			$senha = substr(md5(date("Y-m-d h:i:s").$login), 0, 6);
			
			
			if($atualiza_imagem == true){
				$save = "UPDATE ".$prefixo."usuario SET nome = '".utf8_decode($nome)."', email = '$email', login = '$login', senha = '".md5($senha)."', foto = '$nome_imagem' WHERE id = '$id'";
			}else{
				$save = "UPDATE ".$prefixo."usuario SET nome = '".utf8_decode($nome)."', email = '$email', login = '$login', senha = '".md5($senha)."' WHERE id = '$id'";
			}
			
			
		}else{
			if($atualiza_imagem == true){
				$save = "UPDATE ".$prefixo."usuario SET nome = '".utf8_decode($nome)."', email = '$email', login = '$login', foto = '$nome_imagem' WHERE id = '$id'";	
			}else{
				$save = "UPDATE ".$prefixo."usuario SET nome = '".utf8_decode($nome)."', email = '$email', login = '$login' WHERE id = '$id'";	
			}
			
		}
		
	}
	
	mysql_query($save);
	
	
	
	//envia email
	sendEmail($email, "Alteração de Senha", "new_pass_perfil", $nome, $senha);
	
	
	//limpa a sessao
	$_SESSION["usuario_id"] = null;
	$_SESSION["usuario_nome"] = null;
	$_SESSION["usuario_login"] = null;
	$_SESSION["usuario_email"] = null;
	
	//coloca a senha do usuario atual na sessao
	$_SESSION["tmp_password"] = $senha;
	
	//coloca os dados atualizados na sessao
	$_SESSION["req_user_login"] = $login;
	$_SESSION["req_user_senha"] = $senha;
	$_SESSION["req_user_id"] = $id;
	$_SESSION["req_user_name"] = $nome;
	$_SESSION["req_user_mail"] = $email;
	$_SESSION["req_user_photo"] = $foto;
	

	header("Location: ../cad_perfil.php");
}


if($action == "excluir"){
	if(isset($_GET["id"])){
		$id = $_GET["id"];
		
		$dao = new UsuarioDAO();
		$dao->delete($id);
		
	}
	//$_SESSION["refresh"] = true;
	header("Location: ../usuarios.php");
	
}

if($action == "editar"){
	if(isset($_GET["id"])){
		$id = $_GET["id"];
		
		$dao = new UsuarioDAO();
		$usuario = $dao->get($id);
		
		//joga o objeto na sessao
		$_SESSION["usuario"] = serialize( $usuario );
	}
	
	header("Location: ../cad_usuarios.php");
}

if($action == "novo"){
		
	$usuario = new Usuario();
	$_SESSION["usuario"] = serialize( $usuario );
	
	header("Location: ../cad_usuarios.php");
}

?>